﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DSPL.Contracts.Interfaces
{
    public interface IQuery
    {
        string TableName { get; set; }

        string[] TableNameList { get; set; }

        string QueryString { get; set; }

        IColumnWithValue[] ColValues { get; set; }

        IColumnWithValue[] JoinStructure { get; set; }

        IColumnWithValue[] WhereClause { get; set; }

        IColumnWithValue[] HavingClause { get; set; }

        IColumnWithValue[] OrderbyClause { get; set; }

        IColumnWithValue[] Groupby { get; set; }

        IParameter[] ParameterList { get; set; }

        QueryType QType { get; set; }

        int NumberOfRecords { get; set; }
    }
}
